1. Technical Field
The present invention relates generally to client-server environments, and more particularly, to methods, system and program product for indicating the availability of a network resource.
2. Related Art
Referring to FIG. 1, in a networked computer system 2 where individual client systems 4 must access a network resource 6, problems are encountered when a client system 4 attempts to access network resource 6 when it is unavailable. Unavailability can be caused by a myriad of situations such as the network resource, or a part thereof, being shut down or locking. Unavailability results in long timeout intervals in which access to network resource 6 is blocked. For example, where network resource 6 is a server, when the server's file directory is unavailable, the server is generally unavailable. In these situations, a client system 4 application may ‘hang up’ as it tries to interface with the network resource. This ‘hang up’ creates unexpected delays that can result in problems such as a user assuming client system 4 has crashed or actual application lockage. In one example, delays of several minutes are incurred when a client system application is seeking to interface with a file server with an unavailable file directory.
Known solutions to this problem include tracking system management events through a system management interrupt (SMI) handler. SMI handlers operate within the network resource to react to problems, and may log events in memory or a system register. In another approach, an SMI handler may notify applications of a change in network resource status. However, this approach is generally limited to system recognized “system management” issues, such as the opening of a panel or a temperature excursion. Problems related to the availability of network-accessible file systems not related to lower level hardware issues are likely not to be detected in real-time by system management monitoring. In another approach, various applications are offered that can poll the network resource register or file systems to determine if there has been a change in system status. These solutions, however, are limited as polling from a multitude of client systems in a networked environment expends resources necessary for other functions.
In view of the foregoing, there is a need in the art for a way to determine network resource availability in order to avoid time delays caused by querying unavailable resources.